Memory management acts to dynamically allocate portions of memory to processes at request and to free such portions of memory when they are no longer needed. Memory management scalability is particularly critical in systems simultaneously executing numerous threads.
Some memory management systems utilize global locks across numerous processors which seriously limit scalability and thus throughput. Other memory management systems that associate memory to threads necessarily have a high overhead when a lot of threads are running because each thread has its private memory pool.